package cn.bonoon.kernel.annotations;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * <pre>
 * 定义一个数组
 * 
 * 注意：当用于指定boolean时，true值为1，false值为0;
 * 
 * 可以与{@link OptionExclude}联合使用，使用{@link OptionExclude}来去掉某些下标的转换；
 * </pre>
 * @author jackson
 * 
 */
@Target(FIELD)
@Retention(RUNTIME)
public @interface OptionArray {

	String[] value();

	/**
	 * <pre>
	 * 偏移量，如果数字类型的数据有使用负数，则可以指定数组的偏移量。
	 * 如：offset = 10（偏移量为10），表示当当前位置"i = 0"时，
	 * 选项的位置为"index = i + offset"即取出"value[index]"的值;
	 * 那么i的起初值就应该为i=-10
	 * </pre>
	 * 
	 * @return 偏移值
	 */
	int offset() default 0;
	
	/**
	 * <pre>
	 * 从数据库读取值的时候，如果下标越界，需要显示什么内容，则可以在这里指定
	 * </pre>
	 * @return
	 */
	String overflow() default "";
}
